<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>Kinetis Bootloader Host: StELFFile Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="nxp_logo_small.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Kinetis Bootloader Host
   &#160;<span id="projectnumber">2.0.0</span>
   </div>
   <div id="projectbrief">Host Tools for Kinetis devices</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Introduction</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('class_st_e_l_f_file.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-types">Protected Types</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="class_st_e_l_f_file-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">StELFFile Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Parser for Executable and Linking Format (ELF) files.  
 <a href="class_st_e_l_f_file.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="apps_2elftosb_2common_2_st_e_l_f_file_8h_source.html">StELFFile.h</a>&gt;</code></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Collaboration diagram for StELFFile:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="class_st_e_l_f_file__coll__graph.svg" width="1047" height="336"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:struct_st_e_l_f_file_1_1_section_data_info"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#struct_st_e_l_f_file_1_1_section_data_info">SectionDataInfo</a></td></tr>
<tr class="separator:struct_st_e_l_f_file_1_1_section_data_info"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:ad25a6225310af52cffdffb0b866e2dc1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad25a6225310af52cffdffb0b866e2dc1"></a>
typedef std::vector&lt; <a class="el" href="struct_elf32___shdr.html">Elf32_Shdr</a> &gt;::const_iterator&#160;</td><td class="memItemRight" valign="bottom"><b>const_section_iterator</b></td></tr>
<tr class="separator:ad25a6225310af52cffdffb0b866e2dc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfdf681e74a08cd2e1755d200251ae5c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adfdf681e74a08cd2e1755d200251ae5c"></a>
typedef std::vector&lt; <a class="el" href="struct_elf32___phdr.html">Elf32_Phdr</a> &gt;::const_iterator&#160;</td><td class="memItemRight" valign="bottom"><b>const_segment_iterator</b></td></tr>
<tr class="separator:adfdf681e74a08cd2e1755d200251ae5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad25a6225310af52cffdffb0b866e2dc1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad25a6225310af52cffdffb0b866e2dc1"></a>
typedef std::vector&lt; <a class="el" href="struct_elf32___shdr.html">Elf32_Shdr</a> &gt;::const_iterator&#160;</td><td class="memItemRight" valign="bottom"><b>const_section_iterator</b></td></tr>
<tr class="separator:ad25a6225310af52cffdffb0b866e2dc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfdf681e74a08cd2e1755d200251ae5c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adfdf681e74a08cd2e1755d200251ae5c"></a>
typedef std::vector&lt; <a class="el" href="struct_elf32___phdr.html">Elf32_Phdr</a> &gt;::const_iterator&#160;</td><td class="memItemRight" valign="bottom"><b>const_segment_iterator</b></td></tr>
<tr class="separator:adfdf681e74a08cd2e1755d200251ae5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a8b4755ead44e29eed262fce6e92d33e4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#a8b4755ead44e29eed262fce6e92d33e4">StELFFile</a> (std::istream &amp;inStream)</td></tr>
<tr class="memdesc:a8b4755ead44e29eed262fce6e92d33e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#a8b4755ead44e29eed262fce6e92d33e4">More...</a><br /></td></tr>
<tr class="separator:a8b4755ead44e29eed262fce6e92d33e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8113a82ee0a65fecbb72a214774bd4ed"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#a8113a82ee0a65fecbb72a214774bd4ed">~StELFFile</a> ()</td></tr>
<tr class="memdesc:a8113a82ee0a65fecbb72a214774bd4ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#a8113a82ee0a65fecbb72a214774bd4ed">More...</a><br /></td></tr>
<tr class="separator:a8113a82ee0a65fecbb72a214774bd4ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b4755ead44e29eed262fce6e92d33e4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8b4755ead44e29eed262fce6e92d33e4"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#a8b4755ead44e29eed262fce6e92d33e4">StELFFile</a> (std::istream &amp;inStream)</td></tr>
<tr class="memdesc:a8b4755ead44e29eed262fce6e92d33e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br /></td></tr>
<tr class="separator:a8b4755ead44e29eed262fce6e92d33e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f951808076fe4f48ac80b41b50a98c6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9f951808076fe4f48ac80b41b50a98c6"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#a9f951808076fe4f48ac80b41b50a98c6">~StELFFile</a> ()</td></tr>
<tr class="memdesc:a9f951808076fe4f48ac80b41b50a98c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
<tr class="separator:a9f951808076fe4f48ac80b41b50a98c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">File format variant</div></td></tr>
<tr class="memitem:ac5f4c6e2abc6b94829f3bc1f57b7ae56"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac5f4c6e2abc6b94829f3bc1f57b7ae56"></a>
virtual ELFVariant_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#ac5f4c6e2abc6b94829f3bc1f57b7ae56">ELFVariant</a> ()</td></tr>
<tr class="memdesc:ac5f4c6e2abc6b94829f3bc1f57b7ae56"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the ELF format variant to which this file is set. <br /></td></tr>
<tr class="separator:ac5f4c6e2abc6b94829f3bc1f57b7ae56"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a108d218dae9554c6bac311f05960f160"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a108d218dae9554c6bac311f05960f160"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#a108d218dae9554c6bac311f05960f160">setELFVariant</a> (ELFVariant_t variant)</td></tr>
<tr class="memdesc:a108d218dae9554c6bac311f05960f160"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the ELF format variation to either #eARMVariant or #eGHSVariant. <br /></td></tr>
<tr class="separator:a108d218dae9554c6bac311f05960f160"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5f4c6e2abc6b94829f3bc1f57b7ae56"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac5f4c6e2abc6b94829f3bc1f57b7ae56"></a>
virtual ELFVariant_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#ac5f4c6e2abc6b94829f3bc1f57b7ae56">ELFVariant</a> ()</td></tr>
<tr class="memdesc:ac5f4c6e2abc6b94829f3bc1f57b7ae56"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the ELF format variant to which this file is set. <br /></td></tr>
<tr class="separator:ac5f4c6e2abc6b94829f3bc1f57b7ae56"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a108d218dae9554c6bac311f05960f160"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a108d218dae9554c6bac311f05960f160"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#a108d218dae9554c6bac311f05960f160">setELFVariant</a> (ELFVariant_t variant)</td></tr>
<tr class="memdesc:a108d218dae9554c6bac311f05960f160"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the ELF format variation to either #eARMVariant or #eGHSVariant. <br /></td></tr>
<tr class="separator:a108d218dae9554c6bac311f05960f160"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">File name</div></td></tr>
<tr class="memitem:a11bc2c2db33fe42812b12ad42b73dad2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a11bc2c2db33fe42812b12ad42b73dad2"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>setName</b> (const std::string &amp;inName)</td></tr>
<tr class="separator:a11bc2c2db33fe42812b12ad42b73dad2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07f4c83c05bcd28681eb8e5ebff803b3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a07f4c83c05bcd28681eb8e5ebff803b3"></a>
virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><b>getName</b> () const </td></tr>
<tr class="separator:a07f4c83c05bcd28681eb8e5ebff803b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11bc2c2db33fe42812b12ad42b73dad2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a11bc2c2db33fe42812b12ad42b73dad2"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>setName</b> (const std::string &amp;inName)</td></tr>
<tr class="separator:a11bc2c2db33fe42812b12ad42b73dad2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07f4c83c05bcd28681eb8e5ebff803b3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a07f4c83c05bcd28681eb8e5ebff803b3"></a>
virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><b>getName</b> () const </td></tr>
<tr class="separator:a07f4c83c05bcd28681eb8e5ebff803b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">ELF header</div></td></tr>
<tr class="memitem:a20a1e62e93b67bdb8c3b185253f0c35b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a20a1e62e93b67bdb8c3b185253f0c35b"></a>
const <a class="el" href="struct_elf32___ehdr.html">Elf32_Ehdr</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#a20a1e62e93b67bdb8c3b185253f0c35b">getFileHeader</a> () const </td></tr>
<tr class="memdesc:a20a1e62e93b67bdb8c3b185253f0c35b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the ELF file header. <br /></td></tr>
<tr class="separator:a20a1e62e93b67bdb8c3b185253f0c35b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20a1e62e93b67bdb8c3b185253f0c35b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a20a1e62e93b67bdb8c3b185253f0c35b"></a>
const <a class="el" href="struct_elf32___ehdr.html">Elf32_Ehdr</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#a20a1e62e93b67bdb8c3b185253f0c35b">getFileHeader</a> () const </td></tr>
<tr class="memdesc:a20a1e62e93b67bdb8c3b185253f0c35b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the ELF file header. <br /></td></tr>
<tr class="separator:a20a1e62e93b67bdb8c3b185253f0c35b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Sections</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Methods pertaining to the object file's sections. </p>
</div></td></tr>
<tr class="memitem:aa6a3cb3570dbe7cc18e8e1ce9370295a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa6a3cb3570dbe7cc18e8e1ce9370295a"></a>
unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#aa6a3cb3570dbe7cc18e8e1ce9370295a">getSectionCount</a> () const </td></tr>
<tr class="memdesc:aa6a3cb3570dbe7cc18e8e1ce9370295a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of sections in the file. <br /></td></tr>
<tr class="separator:aa6a3cb3570dbe7cc18e8e1ce9370295a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a711f091fc67efbff1abc6639289fe437"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a711f091fc67efbff1abc6639289fe437"></a>
const <a class="el" href="struct_elf32___shdr.html">Elf32_Shdr</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#a711f091fc67efbff1abc6639289fe437">getSectionAtIndex</a> (unsigned inIndex) const </td></tr>
<tr class="memdesc:a711f091fc67efbff1abc6639289fe437"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a reference to section number <em>inIndex</em>. <br /></td></tr>
<tr class="separator:a711f091fc67efbff1abc6639289fe437"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f12a2184792ba27e03331c1de2649a1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3f12a2184792ba27e03331c1de2649a1"></a>
const_section_iterator&#160;</td><td class="memItemRight" valign="bottom"><b>getSectionBegin</b> () const </td></tr>
<tr class="separator:a3f12a2184792ba27e03331c1de2649a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aefc1a7b22e7e6b4991ee9aa6181074bb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aefc1a7b22e7e6b4991ee9aa6181074bb"></a>
const_section_iterator&#160;</td><td class="memItemRight" valign="bottom"><b>getSectionEnd</b> () const </td></tr>
<tr class="separator:aefc1a7b22e7e6b4991ee9aa6181074bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42e4cb4c9377f07b85d50caa8b412de2"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#a42e4cb4c9377f07b85d50caa8b412de2">getIndexOfSectionWithName</a> (const std::string &amp;inName)</td></tr>
<tr class="memdesc:a42e4cb4c9377f07b85d50caa8b412de2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the index of the section with the name <em>inName</em>.  <a href="#a42e4cb4c9377f07b85d50caa8b412de2">More...</a><br /></td></tr>
<tr class="separator:a42e4cb4c9377f07b85d50caa8b412de2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a119443c477fe3ca4862bc46440480688"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#a119443c477fe3ca4862bc46440480688">getSectionDataAtIndex</a> (unsigned inIndex)</td></tr>
<tr class="memdesc:a119443c477fe3ca4862bc46440480688"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the data for the section.  <a href="#a119443c477fe3ca4862bc46440480688">More...</a><br /></td></tr>
<tr class="separator:a119443c477fe3ca4862bc46440480688"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a686e6146a6786fe5baf7bd8209beff88"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#a686e6146a6786fe5baf7bd8209beff88">getSectionData</a> (const_section_iterator inSection)</td></tr>
<tr class="memdesc:a686e6146a6786fe5baf7bd8209beff88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the data for the section.  <a href="#a686e6146a6786fe5baf7bd8209beff88">More...</a><br /></td></tr>
<tr class="separator:a686e6146a6786fe5baf7bd8209beff88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6a3cb3570dbe7cc18e8e1ce9370295a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa6a3cb3570dbe7cc18e8e1ce9370295a"></a>
unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#aa6a3cb3570dbe7cc18e8e1ce9370295a">getSectionCount</a> () const </td></tr>
<tr class="memdesc:aa6a3cb3570dbe7cc18e8e1ce9370295a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of sections in the file. <br /></td></tr>
<tr class="separator:aa6a3cb3570dbe7cc18e8e1ce9370295a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d0a9a0f43a21e82ec1fd0ebc78d98ea"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7d0a9a0f43a21e82ec1fd0ebc78d98ea"></a>
const <a class="el" href="struct_elf32___shdr.html">Elf32_Shdr</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#a7d0a9a0f43a21e82ec1fd0ebc78d98ea">getSectionAtIndex</a> (unsigned inIndex) const </td></tr>
<tr class="memdesc:a7d0a9a0f43a21e82ec1fd0ebc78d98ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a reference to section number <em>inIndex</em>. <br /></td></tr>
<tr class="separator:a7d0a9a0f43a21e82ec1fd0ebc78d98ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f12a2184792ba27e03331c1de2649a1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3f12a2184792ba27e03331c1de2649a1"></a>
const_section_iterator&#160;</td><td class="memItemRight" valign="bottom"><b>getSectionBegin</b> () const </td></tr>
<tr class="separator:a3f12a2184792ba27e03331c1de2649a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aefc1a7b22e7e6b4991ee9aa6181074bb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aefc1a7b22e7e6b4991ee9aa6181074bb"></a>
const_section_iterator&#160;</td><td class="memItemRight" valign="bottom"><b>getSectionEnd</b> () const </td></tr>
<tr class="separator:aefc1a7b22e7e6b4991ee9aa6181074bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42e4cb4c9377f07b85d50caa8b412de2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a42e4cb4c9377f07b85d50caa8b412de2"></a>
unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#a42e4cb4c9377f07b85d50caa8b412de2">getIndexOfSectionWithName</a> (const std::string &amp;inName)</td></tr>
<tr class="memdesc:a42e4cb4c9377f07b85d50caa8b412de2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the index of the section with the name <em>inName</em>. <br /></td></tr>
<tr class="separator:a42e4cb4c9377f07b85d50caa8b412de2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae549eed5bda1df0a43f8f508b9ae6add"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae549eed5bda1df0a43f8f508b9ae6add"></a>
uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#ae549eed5bda1df0a43f8f508b9ae6add">getSectionDataAtIndex</a> (unsigned inIndex)</td></tr>
<tr class="memdesc:ae549eed5bda1df0a43f8f508b9ae6add"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the data for the section. <br /></td></tr>
<tr class="separator:ae549eed5bda1df0a43f8f508b9ae6add"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7cfa43b017fdee8e84bdc4a86af1be48"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7cfa43b017fdee8e84bdc4a86af1be48"></a>
uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#a7cfa43b017fdee8e84bdc4a86af1be48">getSectionData</a> (const_section_iterator inSection)</td></tr>
<tr class="memdesc:a7cfa43b017fdee8e84bdc4a86af1be48"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the data for the section. <br /></td></tr>
<tr class="separator:a7cfa43b017fdee8e84bdc4a86af1be48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Segments</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Methods for accessing the file's program headers for segments. </p>
</div></td></tr>
<tr class="memitem:a4e8903987ad8b071895bea15322907d1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4e8903987ad8b071895bea15322907d1"></a>
unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#a4e8903987ad8b071895bea15322907d1">getSegmentCount</a> () const </td></tr>
<tr class="memdesc:a4e8903987ad8b071895bea15322907d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of segments, or program headers, in the file. <br /></td></tr>
<tr class="separator:a4e8903987ad8b071895bea15322907d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe92defa024903a0e4590185d74e4b47"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afe92defa024903a0e4590185d74e4b47"></a>
const <a class="el" href="struct_elf32___phdr.html">Elf32_Phdr</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#afe92defa024903a0e4590185d74e4b47">getSegmentAtIndex</a> (unsigned inIndex) const </td></tr>
<tr class="memdesc:afe92defa024903a0e4590185d74e4b47"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a reference to the given segment. <br /></td></tr>
<tr class="separator:afe92defa024903a0e4590185d74e4b47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a155b6c81561ef77184c29df8ee602067"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a155b6c81561ef77184c29df8ee602067"></a>
const_segment_iterator&#160;</td><td class="memItemRight" valign="bottom"><b>getSegmentBegin</b> () const </td></tr>
<tr class="separator:a155b6c81561ef77184c29df8ee602067"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50d456089719272b86ae1fe927834108"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50d456089719272b86ae1fe927834108"></a>
const_segment_iterator&#160;</td><td class="memItemRight" valign="bottom"><b>getSegmentEnd</b> () const </td></tr>
<tr class="separator:a50d456089719272b86ae1fe927834108"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade50c6ce0f3fde9168c41e968bce6450"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#ade50c6ce0f3fde9168c41e968bce6450">getSegmentDataAtIndex</a> (unsigned inIndex)</td></tr>
<tr class="memdesc:ade50c6ce0f3fde9168c41e968bce6450"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the data of the specified segment.  <a href="#ade50c6ce0f3fde9168c41e968bce6450">More...</a><br /></td></tr>
<tr class="separator:ade50c6ce0f3fde9168c41e968bce6450"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afaa26d8ab0e9b60e90716c7494e65d2a"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#afaa26d8ab0e9b60e90716c7494e65d2a">getSegmentData</a> (const_segment_iterator inSegment)</td></tr>
<tr class="memdesc:afaa26d8ab0e9b60e90716c7494e65d2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the data of the specified segment.  <a href="#afaa26d8ab0e9b60e90716c7494e65d2a">More...</a><br /></td></tr>
<tr class="separator:afaa26d8ab0e9b60e90716c7494e65d2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e8903987ad8b071895bea15322907d1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4e8903987ad8b071895bea15322907d1"></a>
unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#a4e8903987ad8b071895bea15322907d1">getSegmentCount</a> () const </td></tr>
<tr class="memdesc:a4e8903987ad8b071895bea15322907d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of segments, or program headers, in the file. <br /></td></tr>
<tr class="separator:a4e8903987ad8b071895bea15322907d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70047c2569b32813a234f0813a370629"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a70047c2569b32813a234f0813a370629"></a>
const <a class="el" href="struct_elf32___phdr.html">Elf32_Phdr</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#a70047c2569b32813a234f0813a370629">getSegmentAtIndex</a> (unsigned inIndex) const </td></tr>
<tr class="memdesc:a70047c2569b32813a234f0813a370629"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a reference to the given segment. <br /></td></tr>
<tr class="separator:a70047c2569b32813a234f0813a370629"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a155b6c81561ef77184c29df8ee602067"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a155b6c81561ef77184c29df8ee602067"></a>
const_segment_iterator&#160;</td><td class="memItemRight" valign="bottom"><b>getSegmentBegin</b> () const </td></tr>
<tr class="separator:a155b6c81561ef77184c29df8ee602067"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50d456089719272b86ae1fe927834108"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50d456089719272b86ae1fe927834108"></a>
const_segment_iterator&#160;</td><td class="memItemRight" valign="bottom"><b>getSegmentEnd</b> () const </td></tr>
<tr class="separator:a50d456089719272b86ae1fe927834108"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab03ee50daaf847b230d532435e134fb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aab03ee50daaf847b230d532435e134fb"></a>
uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#aab03ee50daaf847b230d532435e134fb">getSegmentDataAtIndex</a> (unsigned inIndex)</td></tr>
<tr class="memdesc:aab03ee50daaf847b230d532435e134fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the data of the specified segment. <br /></td></tr>
<tr class="separator:aab03ee50daaf847b230d532435e134fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9dfaf9c2d1e376e5cea4d9fc9a6c14be"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9dfaf9c2d1e376e5cea4d9fc9a6c14be"></a>
uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#a9dfaf9c2d1e376e5cea4d9fc9a6c14be">getSegmentData</a> (const_segment_iterator inSegment)</td></tr>
<tr class="memdesc:a9dfaf9c2d1e376e5cea4d9fc9a6c14be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the data of the specified segment. <br /></td></tr>
<tr class="separator:a9dfaf9c2d1e376e5cea4d9fc9a6c14be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">String table</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Methods for accessing the string tables. </p>
</div></td></tr>
<tr class="memitem:a97da4e26f21e22d8e2337dc8cf923dad"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#a97da4e26f21e22d8e2337dc8cf923dad">getSectionNameAtIndex</a> (unsigned inIndex)</td></tr>
<tr class="memdesc:a97da4e26f21e22d8e2337dc8cf923dad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a string from the file's section name string table.  <a href="#a97da4e26f21e22d8e2337dc8cf923dad">More...</a><br /></td></tr>
<tr class="separator:a97da4e26f21e22d8e2337dc8cf923dad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3541a9b09ad7b60fddf9cd540c5f28f"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#af3541a9b09ad7b60fddf9cd540c5f28f">getStringAtIndex</a> (unsigned inStringTableSectionIndex, unsigned inStringIndex)</td></tr>
<tr class="memdesc:af3541a9b09ad7b60fddf9cd540c5f28f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a string from any string table in the object file.  <a href="#af3541a9b09ad7b60fddf9cd540c5f28f">More...</a><br /></td></tr>
<tr class="separator:af3541a9b09ad7b60fddf9cd540c5f28f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97da4e26f21e22d8e2337dc8cf923dad"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a97da4e26f21e22d8e2337dc8cf923dad"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#a97da4e26f21e22d8e2337dc8cf923dad">getSectionNameAtIndex</a> (unsigned inIndex)</td></tr>
<tr class="memdesc:a97da4e26f21e22d8e2337dc8cf923dad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a string from the file's section name string table. <br /></td></tr>
<tr class="separator:a97da4e26f21e22d8e2337dc8cf923dad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3541a9b09ad7b60fddf9cd540c5f28f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3541a9b09ad7b60fddf9cd540c5f28f"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#af3541a9b09ad7b60fddf9cd540c5f28f">getStringAtIndex</a> (unsigned inStringTableSectionIndex, unsigned inStringIndex)</td></tr>
<tr class="memdesc:af3541a9b09ad7b60fddf9cd540c5f28f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a string from any string table in the object file. <br /></td></tr>
<tr class="separator:af3541a9b09ad7b60fddf9cd540c5f28f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Symbol table</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Methods for accessing the object file's symbol table. Currently only a single symbol table with the section name ".symtab" is supported. </p>
</div></td></tr>
<tr class="memitem:af6fc9dd4de7150784ec36962376eb993"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#af6fc9dd4de7150784ec36962376eb993">getSymbolCount</a> ()</td></tr>
<tr class="memdesc:af6fc9dd4de7150784ec36962376eb993"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of symbols in the default ".symtab" symbol table.  <a href="#af6fc9dd4de7150784ec36962376eb993">More...</a><br /></td></tr>
<tr class="separator:af6fc9dd4de7150784ec36962376eb993"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a871019ec48109ee86d466fffa81187"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="struct_elf32___sym.html">Elf32_Sym</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#a1a871019ec48109ee86d466fffa81187">getSymbolAtIndex</a> (unsigned inIndex)</td></tr>
<tr class="memdesc:a1a871019ec48109ee86d466fffa81187"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the symbol with index <em>inIndex</em>.  <a href="#a1a871019ec48109ee86d466fffa81187">More...</a><br /></td></tr>
<tr class="separator:a1a871019ec48109ee86d466fffa81187"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1adb3270ec336c86cb4b0a3cfd4a986c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1adb3270ec336c86cb4b0a3cfd4a986c"></a>
unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#a1adb3270ec336c86cb4b0a3cfd4a986c">getSymbolNameStringTableIndex</a> () const </td></tr>
<tr class="memdesc:a1adb3270ec336c86cb4b0a3cfd4a986c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the section index of the string table containing symbol names. <br /></td></tr>
<tr class="separator:a1adb3270ec336c86cb4b0a3cfd4a986c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a4d85a2f655903d1648558b985d55fb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1a4d85a2f655903d1648558b985d55fb"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#a1a4d85a2f655903d1648558b985d55fb">getSymbolName</a> (const <a class="el" href="struct_elf32___sym.html">Elf32_Sym</a> &amp;inSymbol)</td></tr>
<tr class="memdesc:a1a4d85a2f655903d1648558b985d55fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the name of the symbol described by <em>inSymbol</em>. <br /></td></tr>
<tr class="separator:a1a4d85a2f655903d1648558b985d55fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7dfc2f4b2a7d927a88091ac91ff9278d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7dfc2f4b2a7d927a88091ac91ff9278d"></a>
unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#a7dfc2f4b2a7d927a88091ac91ff9278d">getIndexOfSymbolAtAddress</a> (uint32_t symbolAddress, bool strict=true)</td></tr>
<tr class="memdesc:a7dfc2f4b2a7d927a88091ac91ff9278d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns STN_UNDEF if it cannot find a symbol at the given <em>symbolAddress</em>. <br /></td></tr>
<tr class="separator:a7dfc2f4b2a7d927a88091ac91ff9278d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e1cdd838d9936b17244ce2b68663b50"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4e1cdd838d9936b17244ce2b68663b50"></a>
ARMSymbolType_t&#160;</td><td class="memItemRight" valign="bottom"><b>getTypeOfSymbolAtIndex</b> (unsigned symbolIndex)</td></tr>
<tr class="separator:a4e1cdd838d9936b17244ce2b68663b50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6fc9dd4de7150784ec36962376eb993"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af6fc9dd4de7150784ec36962376eb993"></a>
unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#af6fc9dd4de7150784ec36962376eb993">getSymbolCount</a> ()</td></tr>
<tr class="memdesc:af6fc9dd4de7150784ec36962376eb993"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of symbols in the default ".symtab" symbol table. <br /></td></tr>
<tr class="separator:af6fc9dd4de7150784ec36962376eb993"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1391a4ebdf335d460c152e069480b48"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad1391a4ebdf335d460c152e069480b48"></a>
const <a class="el" href="struct_elf32___sym.html">Elf32_Sym</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#ad1391a4ebdf335d460c152e069480b48">getSymbolAtIndex</a> (unsigned inIndex)</td></tr>
<tr class="memdesc:ad1391a4ebdf335d460c152e069480b48"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the symbol with index <em>inIndex</em>. <br /></td></tr>
<tr class="separator:ad1391a4ebdf335d460c152e069480b48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1adb3270ec336c86cb4b0a3cfd4a986c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1adb3270ec336c86cb4b0a3cfd4a986c"></a>
unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#a1adb3270ec336c86cb4b0a3cfd4a986c">getSymbolNameStringTableIndex</a> () const </td></tr>
<tr class="memdesc:a1adb3270ec336c86cb4b0a3cfd4a986c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the section index of the string table containing symbol names. <br /></td></tr>
<tr class="separator:a1adb3270ec336c86cb4b0a3cfd4a986c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a4d85a2f655903d1648558b985d55fb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1a4d85a2f655903d1648558b985d55fb"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#a1a4d85a2f655903d1648558b985d55fb">getSymbolName</a> (const <a class="el" href="struct_elf32___sym.html">Elf32_Sym</a> &amp;inSymbol)</td></tr>
<tr class="memdesc:a1a4d85a2f655903d1648558b985d55fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the name of the symbol described by <em>inSymbol</em>. <br /></td></tr>
<tr class="separator:a1a4d85a2f655903d1648558b985d55fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7dfc2f4b2a7d927a88091ac91ff9278d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7dfc2f4b2a7d927a88091ac91ff9278d"></a>
unsigned&#160;</td><td class="memItemRight" valign="bottom"><b>getIndexOfSymbolAtAddress</b> (uint32_t symbolAddress, bool strict=true)</td></tr>
<tr class="separator:a7dfc2f4b2a7d927a88091ac91ff9278d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e1cdd838d9936b17244ce2b68663b50"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4e1cdd838d9936b17244ce2b68663b50"></a>
ARMSymbolType_t&#160;</td><td class="memItemRight" valign="bottom"><b>getTypeOfSymbolAtIndex</b> (unsigned symbolIndex)</td></tr>
<tr class="separator:a4e1cdd838d9936b17244ce2b68663b50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Debugging</div></td></tr>
<tr class="memitem:ac1f608e79d5d93bcc9502d39e76a8c2a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac1f608e79d5d93bcc9502d39e76a8c2a"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>dumpSections</b> ()</td></tr>
<tr class="separator:ac1f608e79d5d93bcc9502d39e76a8c2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab99b0b504c72f9eacfeed132784a1735"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab99b0b504c72f9eacfeed132784a1735"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>dumpSymbolTable</b> ()</td></tr>
<tr class="separator:ab99b0b504c72f9eacfeed132784a1735"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1f608e79d5d93bcc9502d39e76a8c2a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac1f608e79d5d93bcc9502d39e76a8c2a"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>dumpSections</b> ()</td></tr>
<tr class="separator:ac1f608e79d5d93bcc9502d39e76a8c2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab99b0b504c72f9eacfeed132784a1735"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab99b0b504c72f9eacfeed132784a1735"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>dumpSymbolTable</b> ()</td></tr>
<tr class="separator:ab99b0b504c72f9eacfeed132784a1735"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-types"></a>
Protected Types</h2></td></tr>
<tr class="memitem:a156568d824842c4ad4fc233c4a5594d0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a156568d824842c4ad4fc233c4a5594d0"></a>
typedef std::map&lt; unsigned, <a class="el" href="class_st_e_l_f_file.html#struct_st_e_l_f_file_1_1_section_data_info">SectionDataInfo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>SectionDataMap</b></td></tr>
<tr class="separator:a156568d824842c4ad4fc233c4a5594d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a156568d824842c4ad4fc233c4a5594d0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a156568d824842c4ad4fc233c4a5594d0"></a>
typedef std::map&lt; unsigned, <a class="el" href="class_st_e_l_f_file.html#struct_st_e_l_f_file_1_1_section_data_info">SectionDataInfo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>SectionDataMap</b></td></tr>
<tr class="separator:a156568d824842c4ad4fc233c4a5594d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a0cc808f75cc85d751077efb4d22d2e49"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0cc808f75cc85d751077efb4d22d2e49"></a>
<a class="el" href="class_st_e_l_f_file.html#struct_st_e_l_f_file_1_1_section_data_info">SectionDataInfo</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#a0cc808f75cc85d751077efb4d22d2e49">getCachedSectionData</a> (unsigned inSectionIndex)</td></tr>
<tr class="memdesc:a0cc808f75cc85d751077efb4d22d2e49"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads a section's data either from cache or from disk. <br /></td></tr>
<tr class="separator:a0cc808f75cc85d751077efb4d22d2e49"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1588520ed3c30aa3edd081ecab07fbcd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#a1588520ed3c30aa3edd081ecab07fbcd">readFileHeaders</a> ()</td></tr>
<tr class="memdesc:a1588520ed3c30aa3edd081ecab07fbcd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the file, section, and program headers into memory.  <a href="#a1588520ed3c30aa3edd081ecab07fbcd">More...</a><br /></td></tr>
<tr class="separator:a1588520ed3c30aa3edd081ecab07fbcd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afcaf53590f091b2aad60ef89805988ed"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#afcaf53590f091b2aad60ef89805988ed">readSectionData</a> (const <a class="el" href="struct_elf32___shdr.html">Elf32_Shdr</a> &amp;inHeader)</td></tr>
<tr class="separator:afcaf53590f091b2aad60ef89805988ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f90a7878411770dc30e1c01ace43ade"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#a8f90a7878411770dc30e1c01ace43ade">readSegmentData</a> (const <a class="el" href="struct_elf32___phdr.html">Elf32_Phdr</a> &amp;inHeader)</td></tr>
<tr class="separator:a8f90a7878411770dc30e1c01ace43ade"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa08a3f42173e6a32b7d521b2df76fb56"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa08a3f42173e6a32b7d521b2df76fb56"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#aa08a3f42173e6a32b7d521b2df76fb56">byteSwapSymbolTable</a> (const <a class="el" href="struct_elf32___shdr.html">Elf32_Shdr</a> &amp;header, <a class="el" href="class_st_e_l_f_file.html#struct_st_e_l_f_file_1_1_section_data_info">SectionDataInfo</a> &amp;info)</td></tr>
<tr class="memdesc:aa08a3f42173e6a32b7d521b2df76fb56"><td class="mdescLeft">&#160;</td><td class="mdescRight">Byte swaps the symbol table data into host endianness. <br /></td></tr>
<tr class="separator:aa08a3f42173e6a32b7d521b2df76fb56"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0bf0fd0db88fd21b370a4a28b79625c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae0bf0fd0db88fd21b370a4a28b79625c"></a>
<a class="el" href="class_st_e_l_f_file.html#struct_st_e_l_f_file_1_1_section_data_info">SectionDataInfo</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#ae0bf0fd0db88fd21b370a4a28b79625c">getCachedSectionData</a> (unsigned inSectionIndex)</td></tr>
<tr class="memdesc:ae0bf0fd0db88fd21b370a4a28b79625c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads a section's data either from cache or from disk. <br /></td></tr>
<tr class="separator:ae0bf0fd0db88fd21b370a4a28b79625c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1588520ed3c30aa3edd081ecab07fbcd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1588520ed3c30aa3edd081ecab07fbcd"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#a1588520ed3c30aa3edd081ecab07fbcd">readFileHeaders</a> ()</td></tr>
<tr class="memdesc:a1588520ed3c30aa3edd081ecab07fbcd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the file, section, and program headers into memory. <br /></td></tr>
<tr class="separator:a1588520ed3c30aa3edd081ecab07fbcd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1cb1132c3c939371bbafddcc6af3c21b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1cb1132c3c939371bbafddcc6af3c21b"></a>
uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><b>readSectionData</b> (const <a class="el" href="struct_elf32___shdr.html">Elf32_Shdr</a> &amp;inHeader)</td></tr>
<tr class="separator:a1cb1132c3c939371bbafddcc6af3c21b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a305bea5868b9a57f2aa838c3a5912b03"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a305bea5868b9a57f2aa838c3a5912b03"></a>
uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><b>readSegmentData</b> (const <a class="el" href="struct_elf32___phdr.html">Elf32_Phdr</a> &amp;inHeader)</td></tr>
<tr class="separator:a305bea5868b9a57f2aa838c3a5912b03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa08a3f42173e6a32b7d521b2df76fb56"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa08a3f42173e6a32b7d521b2df76fb56"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#aa08a3f42173e6a32b7d521b2df76fb56">byteSwapSymbolTable</a> (const <a class="el" href="struct_elf32___shdr.html">Elf32_Shdr</a> &amp;header, <a class="el" href="class_st_e_l_f_file.html#struct_st_e_l_f_file_1_1_section_data_info">SectionDataInfo</a> &amp;info)</td></tr>
<tr class="memdesc:aa08a3f42173e6a32b7d521b2df76fb56"><td class="mdescLeft">&#160;</td><td class="mdescRight">Byte swaps the symbol table data into host endianness. <br /></td></tr>
<tr class="separator:aa08a3f42173e6a32b7d521b2df76fb56"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:af852887a96c37916379b145f6009962f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af852887a96c37916379b145f6009962f"></a>
std::istream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#af852887a96c37916379b145f6009962f">m_stream</a></td></tr>
<tr class="memdesc:af852887a96c37916379b145f6009962f"><td class="mdescLeft">&#160;</td><td class="mdescRight">The source stream for the ELF file. <br /></td></tr>
<tr class="separator:af852887a96c37916379b145f6009962f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f97854baf92491c5c68774b7c402b07"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1f97854baf92491c5c68774b7c402b07"></a>
ELFVariant_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#a1f97854baf92491c5c68774b7c402b07">m_elfVariant</a></td></tr>
<tr class="memdesc:a1f97854baf92491c5c68774b7c402b07"><td class="mdescLeft">&#160;</td><td class="mdescRight">Variant of the ARM ELF format specification. <br /></td></tr>
<tr class="separator:a1f97854baf92491c5c68774b7c402b07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1ba7311a751f7fc5f2eee47d338373f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac1ba7311a751f7fc5f2eee47d338373f"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#ac1ba7311a751f7fc5f2eee47d338373f">m_name</a></td></tr>
<tr class="memdesc:ac1ba7311a751f7fc5f2eee47d338373f"><td class="mdescLeft">&#160;</td><td class="mdescRight">File name. (optional) <br /></td></tr>
<tr class="separator:ac1ba7311a751f7fc5f2eee47d338373f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac651a482dd310b5e620964211b69df9a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac651a482dd310b5e620964211b69df9a"></a>
<a class="el" href="struct_elf32___ehdr.html">Elf32_Ehdr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#ac651a482dd310b5e620964211b69df9a">m_header</a></td></tr>
<tr class="memdesc:ac651a482dd310b5e620964211b69df9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The ELF file header. <br /></td></tr>
<tr class="separator:ac651a482dd310b5e620964211b69df9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4fbe23b0fcfdd317c9a3ab29f151eb82"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4fbe23b0fcfdd317c9a3ab29f151eb82"></a>
std::vector&lt; <a class="el" href="struct_elf32___shdr.html">Elf32_Shdr</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#a4fbe23b0fcfdd317c9a3ab29f151eb82">m_sectionHeaders</a></td></tr>
<tr class="memdesc:a4fbe23b0fcfdd317c9a3ab29f151eb82"><td class="mdescLeft">&#160;</td><td class="mdescRight">All of the section headers. <br /></td></tr>
<tr class="separator:a4fbe23b0fcfdd317c9a3ab29f151eb82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a222631bb90dd3546724386ee074b933b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a222631bb90dd3546724386ee074b933b"></a>
std::vector&lt; <a class="el" href="struct_elf32___phdr.html">Elf32_Phdr</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#a222631bb90dd3546724386ee074b933b">m_programHeaders</a></td></tr>
<tr class="memdesc:a222631bb90dd3546724386ee074b933b"><td class="mdescLeft">&#160;</td><td class="mdescRight">All of the program headers. <br /></td></tr>
<tr class="separator:a222631bb90dd3546724386ee074b933b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac94c7ae804e67db4ac9f59c890ab31b4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac94c7ae804e67db4ac9f59c890ab31b4"></a>
unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#ac94c7ae804e67db4ac9f59c890ab31b4">m_symbolTableIndex</a></td></tr>
<tr class="memdesc:ac94c7ae804e67db4ac9f59c890ab31b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Index of ".symtab" section, or #SHN_UNDEF if not present. <br /></td></tr>
<tr class="separator:ac94c7ae804e67db4ac9f59c890ab31b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ba143e0a24e2784ee5152752352e185"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4ba143e0a24e2784ee5152752352e185"></a>
SectionDataMap&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_e_l_f_file.html#a4ba143e0a24e2784ee5152752352e185">m_sectionDataCache</a></td></tr>
<tr class="memdesc:a4ba143e0a24e2784ee5152752352e185"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cached data of sections. <br /></td></tr>
<tr class="separator:a4ba143e0a24e2784ee5152752352e185"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Parser for Executable and Linking Format (ELF) files. </p>
<p>The stream passed into the constructor needs to stay open for the life of the object. This is because calls to <a class="el" href="class_st_e_l_f_file.html#a119443c477fe3ca4862bc46440480688" title="Returns the data for the section. ">getSectionDataAtIndex()</a> and <a class="el" href="class_st_e_l_f_file.html#ade50c6ce0f3fde9168c41e968bce6450" title="Returns the data of the specified segment. ">getSegmentDataAtIndex()</a> read the data directly from the input stream. </p>
</div><hr/><h2 class="groupheader">Class Documentation</h2>
<a name="struct_st_e_l_f_file_1_1_section_data_info" id="struct_st_e_l_f_file_1_1_section_data_info"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct StELFFile::SectionDataInfo</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>Little structure containing information about cached section data. </p>
</div><table class="fieldtable">
<tr><th colspan="3">Class Members</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ad3c1046c86d5017da30bf26c0140d922"></a>uint8_t *</td>
<td class="fieldname">
m_data</td>
<td class="fielddoc">
Pointer to section data. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ac6218b6ea5bc7c91d0bdc58c205e4573"></a>unsigned</td>
<td class="fieldname">
m_size</td>
<td class="fielddoc">
Section data size in bytes. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="abc8dd8faddb96a673e68afab681cef36"></a>bool</td>
<td class="fieldname">
m_swapped</td>
<td class="fielddoc">
Has this section been byte swapped yet? Used for symbol table. </td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a8b4755ead44e29eed262fce6e92d33e4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">StELFFile::StELFFile </td>
          <td>(</td>
          <td class="paramtype">std::istream &amp;&#160;</td>
          <td class="paramname"><em>inStream</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="class_st_e_l_f_file_exception.html" title="Simple exception thrown to indicate an error in the input ELF file format. ">StELFFileException</a></td><td>is thrown if there is a problem with the file format. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a8113a82ee0a65fecbb72a214774bd4ed"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">StELFFile::~StELFFile </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Destructor. </p>
<p>Disposes of the string table data. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a42e4cb4c9377f07b85d50caa8b412de2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned StELFFile::getIndexOfSectionWithName </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>inName</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the index of the section with the name <em>inName</em>. </p>
<p>If there is not a matching section, then #SHN_UNDEF is returned instead. </p>

</div>
</div>
<a class="anchor" id="a686e6146a6786fe5baf7bd8209beff88"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t * StELFFile::getSectionData </td>
          <td>(</td>
          <td class="paramtype">const_section_iterator&#160;</td>
          <td class="paramname"><em>inSection</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the data for the section. </p>
<p>The pointer returned from this method must be freed with the delete array operator (i.e., delete []). If either the section data offset (sh_offset) or the section size (sh_size) are 0, then NULL will be returned instead.</p>
<p>The data is read directly from the input stream passed into the constructor. The stream must still be open, or an exception will be thrown.</p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="class_st_e_l_f_file_exception.html" title="Simple exception thrown to indicate an error in the input ELF file format. ">StELFFileException</a></td><td>is thrown if an error occurs while reading the file. </td></tr>
    <tr><td class="paramname">std::bad_alloc</td><td>is thrown if memory for the data cannot be allocated. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a119443c477fe3ca4862bc46440480688"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t * StELFFile::getSectionDataAtIndex </td>
          <td>(</td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>inIndex</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the data for the section. </p>
<p>The pointer returned from this method must be freed with the delete array operator (i.e., delete []). If either the section data offset (sh_offset) or the section size (sh_size) are 0, then NULL will be returned instead.</p>
<p>The data is read directly from the input stream passed into the constructor. The stream must still be open, or an exception will be thrown.</p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="class_st_e_l_f_file_exception.html" title="Simple exception thrown to indicate an error in the input ELF file format. ">StELFFileException</a></td><td>is thrown if an error occurs while reading the file. </td></tr>
    <tr><td class="paramname">std::bad_alloc</td><td>is thrown if memory for the data cannot be allocated. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a97da4e26f21e22d8e2337dc8cf923dad"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string StELFFile::getSectionNameAtIndex </td>
          <td>(</td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>inIndex</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns a string from the file's section name string table. </p>
<p>If the index is out of range, or if there is no string table in the file, then an empty string will be returned instead. This will also happen when the index is either 0 or the last byte in the table, since the table begins and ends with zero bytes. </p>

</div>
</div>
<a class="anchor" id="afaa26d8ab0e9b60e90716c7494e65d2a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t * StELFFile::getSegmentData </td>
          <td>(</td>
          <td class="paramtype">const_segment_iterator&#160;</td>
          <td class="paramname"><em>inSegment</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the data of the specified segment. </p>
<p>The pointer returned from this method must be freed with the delete array operator (i.e., delete []). If either the segment offset (p_offset) or the segment file size (p_filesz) are 0, then NULL will be returned instead.</p>
<p>The data is read directly from the input stream passed into the constructor. The stream must still be open, or an exception will be thrown.</p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="class_st_e_l_f_file_exception.html" title="Simple exception thrown to indicate an error in the input ELF file format. ">StELFFileException</a></td><td>is thrown if an error occurs while reading the file. </td></tr>
    <tr><td class="paramname">std::bad_alloc</td><td>is thrown if memory for the data cannot be allocated. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ade50c6ce0f3fde9168c41e968bce6450"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t * StELFFile::getSegmentDataAtIndex </td>
          <td>(</td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>inIndex</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the data of the specified segment. </p>
<p>The pointer returned from this method must be freed with the delete array operator (i.e., delete []). If either the segment offset (p_offset) or the segment file size (p_filesz) are 0, then NULL will be returned instead.</p>
<p>The data is read directly from the input stream passed into the constructor. The stream must still be open, or an exception will be thrown.</p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="class_st_e_l_f_file_exception.html" title="Simple exception thrown to indicate an error in the input ELF file format. ">StELFFileException</a></td><td>is thrown if an error occurs while reading the file. </td></tr>
    <tr><td class="paramname">std::bad_alloc</td><td>is thrown if memory for the data cannot be allocated. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af3541a9b09ad7b60fddf9cd540c5f28f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string StELFFile::getStringAtIndex </td>
          <td>(</td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>inStringTableSectionIndex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>inStringIndex</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns a string from any string table in the object file. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">std::invalid_argument</td><td>is thrown if the section identified by <em>inStringTableSectionIndex</em> is not actually a string table, or if <em>inStringIndex</em> is out of range for the string table. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a1a871019ec48109ee86d466fffa81187"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="struct_elf32___sym.html">Elf32_Sym</a> &amp; StELFFile::getSymbolAtIndex </td>
          <td>(</td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>inIndex</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the symbol with index <em>inIndex</em>. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">std::invalid_argument</td><td>is thrown if <em>inIndex</em> is out of range.] </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af6fc9dd4de7150784ec36962376eb993"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned StELFFile::getSymbolCount </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the number of symbols in the default ".symtab" symbol table. </p>
<p>The number of entries in the symbol table is the symbol table section size divided by the size of each symbol entry (the <a class="el" href="struct_elf32___shdr.html#a10c59cecc928aae27930601fe545d3ca" title="Size in bytes of section entries, or 0 if the section does not have fixed-size entries. ">Elf32_Shdr::sh_entsize</a> field of the symbol table section header). </p>

</div>
</div>
<a class="anchor" id="a1588520ed3c30aa3edd081ecab07fbcd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void StELFFile::readFileHeaders </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reads the file, section, and program headers into memory. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="class_st_e_l_f_file_exception.html" title="Simple exception thrown to indicate an error in the input ELF file format. ">StELFFileException</a></td><td>is thrown if the file is not an ELF file. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="afcaf53590f091b2aad60ef89805988ed"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t * StELFFile::readSectionData </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_elf32___shdr.html">Elf32_Shdr</a> &amp;&#160;</td>
          <td class="paramname"><em>inHeader</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="class_st_e_l_f_file_exception.html" title="Simple exception thrown to indicate an error in the input ELF file format. ">StELFFileException</a></td><td>is thrown if an error occurs while reading the file. </td></tr>
    <tr><td class="paramname">std::bad_alloc</td><td>is thrown if memory for the data cannot be allocated. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a8f90a7878411770dc30e1c01ace43ade"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t * StELFFile::readSegmentData </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_elf32___phdr.html">Elf32_Phdr</a> &amp;&#160;</td>
          <td class="paramname"><em>inHeader</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="class_st_e_l_f_file_exception.html" title="Simple exception thrown to indicate an error in the input ELF file format. ">StELFFileException</a></td><td>is thrown if an error occurs while reading the file. </td></tr>
    <tr><td class="paramname">std::bad_alloc</td><td>is thrown if memory for the data cannot be allocated. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="apps_2elftosb_2common_2_st_e_l_f_file_8h_source.html">apps/elftosb/common/StELFFile.h</a></li>
<li>apps/elftosb/common/StELFFile.cpp</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="class_st_e_l_f_file.html">StELFFile</a></li>
    <li class="footer">Generated on Mon Mar 7 2016 16:49:51 for Kinetis Bootloader Host by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
